2D Majority Game w/ Features

created with NetLogo

view/download model file: 2D MG Features.nlogo

WHAT IS IT?
-----------
We now extend the basic two-dimensional majority game model by adding more features to the agents' type possibilities (more below). The agents still live in a 2D world with a toriodal topology (so there are still no 'edge effects'). In each step, agents change their state based upon the majority (or plurality) of their neighbors' states.

Agent types are now separated into up to six features and two values for each. Features represent different "characteristics" (or "attributes" or "dimensions" or "properties") of an agent. Think of the number of features as the number of possible properties agents can keep track of. Features are like variables that just hold values. The number of values (called "traits" by Axelrod or sometimes "alleles" in the literature) represents the possible variety that a feature may exhibit.

So in the earlier models we had one feature (color) and two values (red or blue). In Mendelian genetics there are two features and two values for each (a gene copy from each chromosome and each can be either dominant or recessive). This model can have any number of features between one and six (select the number you want by moving the FEATURES slider), and each will have one of two possible values. The indivual features will show up as separate little boxes inside the agent; each little box will be either a lighter or darker shade of some color. Because the screen can look quite cluttered, you can hide (and unhide) some of the features to see the clusters more clrearly.

HOW TO USE IT
-------------
Clicking SETUP fills the world with agents (one per patch) each with a randomly chosen value for each feature.

Clicking GO makes the turtles look at their neighbors and decide what to set their values to. All the agents look and change simultaneously, that is, the model employs synchronous updating. Clicking STEP runs GO just once.

The RADIUS slider allows the user to set how far away the agents will look to collect information about other users' states. In two dimensions, radius is a bit tricky. The radius includes all cells that can be reached from the home cell by moving vertically, horizontally, or diagonally for up to that many spaces. For example, if you set RADIUS to 1, each agent will look out to the eight cells surrounding it (plus the cell that itself is on). If you set RADIUS to 3, then it will include all spaces that can be reached in 3 "steps"; left 3, up 3, north-east 3, 2 to the right and one NE, etc. For more info about radius, see "Neighborhoods Example" in the Code Examples folder.

The USE-PLURALITY toggle switch allows the user to specifiy whether the decision rule is a "majority" rule or a "plurality" rule. If the USE-PLURALITY switch is on then each agent will convert the value of each feature to whichever value is most prominent among its neighbors (what about ties?).

If USE-PLURALITY is off, then the decision is based upon majority rule. The PERCENT-NEEDED slider determines the quorum, i.e. how many neighbors with a particular value are necessary to make an agent change its value for that feature (each feature is evaluated independently). At the lowest level (50%) the models runs a strict majority and at the maximum level (99%) unanimity is required.

The NUMBER_NEEDED monitor box lets the user know how many agents of a single value are required to convert each agent, given the provided RADIUS and PERCENT-NEEDED. Note that the actual number must be strictly greater than the number in this box (can you look at the code and answer why?).

THINGS TO NOTICE
----------------
The colors for each feature start off very scattered. Notice that they form clusters after you run the model. Is there any connection among clusters of different features (or do they seem independent)? Run the model with two features. Hide one, then the other, then look at them together. How do these results compare to the previous four-color two-feature model?

QUESTIONS
---------
1) How much slower does the model run with six features compared to one feature? How does this runtime difference compare to changing the radius from one to six?

THINGS TO TRY
-------------
Each feature is currently evaluated independently, so we don't see any connection among the different features. Try adding some connections to the features' values and see the effect. For example, change the code so that if at least four features have 0 values, then they can't change to 1 values...i.e. values are sticky. How does this effect the clustering patterns. Are they still independent?

CREDITS AND REFERENCES
----------------------
To refer to this model please use: Bramson, Aaron and Scott Page (2005). NetLogo 2D MG Features model. "http://bramson.net/academ/scottsnetlogo/2D MG Features.html". Center for the Study of Complex Systems, University of Michigan, Ann Arbor, MI.